:root { font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; color: #222; }
body { background:#f6f7fb; margin:0; padding:24px; }
.wrap { max-width:900px; margin:0 auto; }
h1 { margin:0 0 16px 0; font-size:22px; }

.card { background:#fff; padding:12px 14px; border-radius:8px; box-shadow: 0 1px 4px rgba(20,20,30,0.06); margin-bottom:12px; }

.row { margin-bottom:10px; display:flex; flex-direction:column; }
.row label { font-size:13px; margin-bottom:6px; color:#444; }
input, textarea { border:1px solid #e0e4ef; background:#fff; padding:8px; border-radius:6px; font-size:14px; outline:none; }
input:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(100,150,255,0.06); border-color:#8aa3ff; }

.actions { display:flex; gap:8px; align-items:center; }
button { padding:8px 12px; border-radius:8px; border:none; background:#2b6ef6; color:#fff; cursor:pointer; font-weight:600; }
button.btn-link { background:transparent; color:#666; border: none; padding: 6px 8px; cursor:pointer; }
button:hover { filter:brightness(0.98); }

.list .card.book { margin-bottom:10px; }
.book-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.book-title { font-size:16px; }
.book-actions { display:flex; gap:6px; }
.book-actions .btn { background:#eef2ff; color:#2b3aa0; padding:6px 8px; border-radius:6px; font-size:13px; }
.book-notes { margin-top:8px; color:#444; background:#fafbff; padding:10px; border-radius:6px; border:1px dashed #f0f4ff; }

.msg { min-height:20px; margin:8px 0 12px 0; color:#2b6ef6; }
.msg.error { color:#d9534f; }

.empty { color:#777; padding:12px; text-align:center; background:#fff; border-radius:8px; }
footer { margin-top:24px; color:#888; font-size:13px; }